import java.util.Scanner;


public class EntregesAlumnes {

	//vaiables
	private int numActualPractiques=0;
	private static int numMaximPractiques;
	Scanner t= new Scanner(System.in);
	PracticaAlumne[] PA;
 	public int getNumActualPractiques() {
		return numActualPractiques;
	}

	public void setNumActualPractiques(int numActualPractiques) {
		this.numActualPractiques = numActualPractiques;
	}

	public static int getNumMaximPractiques() {
		return numMaximPractiques;
	}

	public static void setNumMaximPractiques(int numMaximPractiques) {
		EntregesAlumnes.numMaximPractiques = numMaximPractiques;
	}

	public EntregesAlumnes(int maxEntreges){
		EntregesAlumnes.setNumMaximPractiques(maxEntreges);
		PA=new PracticaAlumne[maxEntreges];
	}
	
	public int Inserir(PracticaAlumne PracticaEnviada){
		int e=0;
		if (EntregesAlumnes.numMaximPractiques<=getNumActualPractiques()) return 2;
		if (getNumActualPractiques()!=0){
			for (int i=0;i<getNumActualPractiques();i++){
				if (PracticaEnviada.getDni().compareToIgnoreCase(PA[i].getDni())==0){
					e=1;
				}
			}
		}else{
			PA[getNumActualPractiques()]=new PracticaAlumne(PracticaEnviada.getDni(), PracticaEnviada.getNomFitxerEnviat());
			setNumActualPractiques(getNumActualPractiques()+1);
			e=10;
		}
		if (e==0){
			PA[getNumActualPractiques()]=new PracticaAlumne(PracticaEnviada.getDni(), PracticaEnviada.getNomFitxerEnviat());
			setNumActualPractiques(getNumActualPractiques()+1);
			e=10;
		}
		return e;
	}
	

	  public void Ordenar() {
		  for (int i = 0; i <getNumActualPractiques()-1; i++) {
		      for (int j = 0; j <getNumActualPractiques()-1; j++) {
		    	  if (PA[j].getDni().compareToIgnoreCase(PA[j+1].getDni())<0) {
		    		  intercambiar(j, j+1);
		    	  }
		      }
		  }
	  }

	  private void intercambiar(int a, int b) {
		  PracticaAlumne tmp = PA[a];
		  PA[a] = PA[b];
		  PA[b] = tmp;
	  }

	
	public int Buscar(String dni){
		for (int i=0;i<getNumActualPractiques();i++) {
			if (dni.compareToIgnoreCase(PA[i].getDni())==0) return i;
		}
		return 0;
	}
	
	public void Mostrar(){
		for (int i=0;i<getNumActualPractiques();i++) System.out.println(toString(i)); 
	}
	
	
	public String toString(int i){
		return "DNI: "+ PA[i].getDni() +"\nFitxer: "+ PA[i].getNomFitxerEnviat()+"\nQualificacio: "+PA[i].getQualificacio();
	}
	
}
